package cn.tedu.sso.constant;

import org.springframework.beans.factory.annotation.Autowired;

import java.util.concurrent.ConcurrentHashMap;

public class LoginMap {
    // 创建一个线程安全的 Map 来存储用户名和密码
    private static ConcurrentHashMap<String, String> loginMap;

    @Autowired
    // 私有构造函数，防止外部实例化
    private LoginMap(ConcurrentHashMap<String, String> clientLoginMap) {
        this.loginMap = clientLoginMap;
    }

    // 提供一个静态方法来获取 Map 的唯一实例
    public static ConcurrentHashMap<String, String> getInstance() {
        return loginMap;
    }

    // 添加用户名和密码到 Map 中
    public static void addCredentials(String username, String password) {
        getInstance().put(username, password);
    }

    // 从 Map 中获取密码
    public static String getPassword(String username) {
        return getInstance().get(username);
    }

    // 检查用户名是否存在
    public static boolean containsUsername(String username) {
        return getInstance().containsKey(username);
    }
}
